package Stragos.negocio;

import java.util.Collection;
import java.util.List;

import Stragos.dao.LocalDAO;
import Stragos.dao.ProductoDAO;
import Stragos.excepcion.DAOExcepcion;
import Stragos.modelo.Local;
import Stragos.modelo.Producto;
import Stragos.modelo.Tipoproducto;


public class GestionProductos {

	public List<Producto> buscarPorNombre(String nombre)
			throws DAOExcepcion {
		List<Producto> list = null;
		try{
			ProductoDAO dao = new ProductoDAO();
		    list = dao.buscarPorNombre(nombre);
		  }
		catch (Exception e) {
            e.printStackTrace();
        }
        return list;
		
	}
	
	public Producto obtenerPorId(int idProducto) throws DAOExcepcion {
		ProductoDAO dao = new ProductoDAO();
		return dao.obtenerProductoPorId(idProducto);
	}
	
	/*public Collection<Producto> listarProductosImportantesSinStock()
			throws DAOExcepcion {
		ProductoDAO dao = new ProductoDAO();
		return dao.listarProductosImportantesSinStock();
	}*/
	
	public Collection<Producto> listarProdTotales() throws DAOExcepcion {
		ProductoDAO dao = new ProductoDAO();
		return dao.listarProdTotales();
	}
	
	public Producto insertar(Producto vo) throws DAOExcepcion {
		ProductoDAO dao = new ProductoDAO();
		return dao.insertar(vo);
	}	
	
	public boolean eliminar(int idProducto) throws DAOExcepcion {
		ProductoDAO dao = new ProductoDAO();
		return dao.eliminar(idProducto);
	}
	
	public Producto actualizar(Producto vo) throws DAOExcepcion {
		ProductoDAO dao = new ProductoDAO();
		return dao.actualizar(vo);
	}
	public Tipoproducto obtenerTipoProd(int tipo) throws DAOExcepcion {
		ProductoDAO dao = new ProductoDAO();
		return dao.buscarxtipo(tipo);
	}	
	public List<Tipoproducto> ListarTipoProdxid(int tipo) throws DAOExcepcion {
		ProductoDAO dao = new ProductoDAO();
		return dao.listarxtipo(tipo);
	}	
	public List<Tipoproducto> ListarTipoProd() throws DAOExcepcion {
		ProductoDAO dao = new ProductoDAO();
		return dao.listarxtipoxid();
	}	
}
